With increasing popularity of instant information over wired and/or wireless communications network, efficient and fault-tolerant storage devices able to store data, video, and audio information are in high demand. A conventional computer data storage layout, for example, may be organized as Redundant Array of Independent Disks (“RAID”) configuration. RAID is a storage device using multiple hard drives or disks linked together to form a large capacity storage device. Storage layouts using various RAID configures have been widely deployed in online data centers, server farms, data computing machines, and/or consumer electronics.
Conventional RAID configurations provide several levels of storage schemes wherein each level offers one or more features, such as error tolerance, storage capacity, and/or storage performance. While the method of redundancy may depend on which version or level of RAID is deployed, and performance enhancement may be found when specific version of the RAID configuration is used. Note that RAID performance can also be dependent upon the number of drives used in the array and the controller. Typically, RAID layout includes seven (7) levels of storage configuration, namely from RAID 0 to RAID 6. In general, RAID 0 and RAID 1 are the popular versions of RAIDs used for conventional data storage.
RAID 0 includes one or more striped disk arrays wherein RAID 0 typically does not offer fault-tolerance. In one example, RAID 0 provides data striping which spreads a file over multiple blocks across several disks for performance improvement. The method of using striped disks is to increase input/output (“I/O”) performance by splitting I/O transfer across multiple I/O interfaces for parallel accessing. A problem associated with RAID 0 is that if one disk fails, all data in the array may be lost.
RAID 1 provides fault-tolerance from disk errors by implementing disk mirroring which mirrors the contents of the disks. A shortcoming of RAID 1 is that it typically requires a minimum of two disks to implement RAID 1 storage configuration. RAID 2 employs Hamming error correction codes to address fault-tolerances. RAID 3 uses parity bits with a dedicated parity disk with byte-level striping storage configuration. While RAID 4 provides block-level striping (like Level 0) with a parity disk, RAID 5 provides byte level data striping as well as stripes error correction information. RAID 5 typically requests at least 3 drives to operate. RAID 6 offers block level striping wherein the parity bits are stored across multiple disks.